/* Specifies that a data structure might contain backpointers, and writes it as with -encodeObject:. This method cannot be called recursively. The implementation works in 2 passes, which implies that write: methods will be performed twice. */
- (void)encodeConditionalObject:object;
/* Indicates that object is a back pointer, and writes it as with -encodeObject: or writes nil depending on whether object is written by an unconditional -encodeObject: otherwise. Implies a previous call to -encodeRootObject:. */